package com.campus.activity.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.campus.activity.entity.Student;

import java.util.List;

/**
 * 学生服务接口
 * 
 * @author System
 * @since 2024
 */
public interface StudentService extends IService<Student> {

    /**
     * 添加学生
     * 
     * @param student 学生信息
     * @return 是否成功
     */
    boolean addStudent(Student student);

    /**
     * 更新学生信息
     * 
     * @param studentId 学生ID
     * @param student 学生信息
     * @return 是否成功
     */
    boolean updateStudent(Integer studentId, Student student);

    /**
     * 删除学生
     * 
     * @param studentId 学生ID
     * @return 是否成功
     */
    boolean deleteStudent(Integer studentId);

    /**
     * 根据学号查询学生
     * 
     * @param studentNumber 学号
     * @return 学生信息
     */
    Student getStudentByNumber(String studentNumber);

    /**
     * 根据姓名模糊查询学生
     * 
     * @param studentName 学生姓名
     * @return 学生列表
     */
    List<Student> getStudentsByName(String studentName);

    /**
     * 检查学号是否存在
     * 
     * @param studentNumber 学号
     * @return 是否存在
     */
    boolean isStudentNumberExists(String studentNumber);

    /**
     * 获取所有学生列表
     * 
     * @return 学生列表
     */
    List<Student> getAllStudents();
}